#ifndef GAMECONTROL_H
#define GAMECONTROL_H

#include"gamedefine.h"
#include "Widget.h"


class GameControl : public QObject
{
    //单例
    GameControl();
    static GameControl*instance ;
public:
    //获取单例
    static GameControl*Instanse()
    {
        if(instance==nullptr)
        {
            return instance= new GameControl();
        }

    }

    //析构
    ~GameControl()
    {
        if(instance!=nullptr)
            delete instance;

        instance=nullptr;
    }

    //游戏初始化
    void GameInit();
    void LoadStartScene();//开始场景加载
    void LoadGameScene();//加载游戏场景

    //开启游戏逻辑定时器
    void GameStart();

    //关闭游戏逻辑定时器
    void GameOver();

    //篮子移动函数
    void playermove();


    //掉落物生成函数
    void Createfalling();

    //掉落物移动函数
    void EnemyfallingMove();

    QList<int> mKeyList;//按键组合



protected:


    QGraphicsView mGameView;//游戏视图
    QGraphicsScene mGameScene;//场景
    QGraphicsScene mStartScene;//开始场景

    //场景元素
    QGraphicsPixmapItem mbackground;//背景
    myplayer mmyplayer;

    //定时器
    QTimer*mplayerMoveTimer;//篮子移动定时器
    QTimer*mEnemyfallingCreateTimer;//掉落物创建定时器
    QTimer*mEnemyfallingMoveTimer;//掉落物移动定时器

    //容器

    QList<Enemyfalling*> mEnemyfallingList;//掉落物容器


};

#endif // GAMECONTROL_H
